package org.breathe.server.core;

import org.breathe.database.RedisDB;
import org.breathe.datastruct.RedisBytes;
import org.breathe.datastruct.RedisData;
import org.breathe.rdb.RdbManager;
import org.breathe.server.RedisServer;

import java.util.Set;

/**
 * @author: breathe
 * @createTime: 2025-05-12
 */
public interface RedisCore {
    Set<RedisBytes> keys();
    void put(RedisBytes key, RedisData value);
    RedisData get(RedisBytes key);
    void remove(RedisBytes key);
    void selectDB(int dbIndex);
    int getDBNum();
    int getCurrentDbIndex();

    RedisDB[] getDatabases();

    RedisServer getServer();
}
